package store.lunangangster.bpmn.model.definition;

import store.lunangangster.bpmn.model.BaseElement;
import store.lunangangster.bpmn.model.CatchEvent;
import store.lunangangster.bpmn.model.EndEvent;
import store.lunangangster.bpmn.model.IntermediateCatchEvent;
import store.lunangangster.bpmn.model.IntermediateThrowEvent;
import store.lunangangster.bpmn.model.StartEvent;
import store.lunangangster.bpmn.model.ThrowEvent;

/**
 * EventDefinition用于触发{@link CatchEvent} (包括{@link StartEvent}和{@link IntermediateCatchEvent})，
 * 以及表示{@link ThrowEvent}的抛出的结果 (包括{@link EndEvent}和{@link IntermediateThrowEvent})
 *
 * <p>EventDefinition的类型包括：
 * <ul>
 *   <li>{@link MessageEventDefinition}</li>
 *   <li>{@link TimerEventDefinition}</li>
 *   <li>{@link ErrorEventDefinition}</li>
 *   <li>{@link EscalationEventDefinition}</li>
 *   <li>{@link CancelEventDefinition}</li>
 *   <li>{@link CompensateEventDefinition}</li>
 *   <li>{@link ConditionalEventDefinition}</li>
 *   <li>{@link LinkEventDefinition}</li>
 *   <li>{@link SignalEventDefinition}</li>
 *   <li>{@link TerminateEventDefinition}</li>
 *   <li>MultipleEventDefinition</li>
 * </ul>
 * @author cwk
 * @version 1.0
 */
public abstract class EventDefinition extends BaseElement {

}
